The present invention relates to a method and a system for handling calls within communications networks and, more specifically, to dynamic routing and rerouting of Internet Protocol (IP) telephony calls.
In conventional analog telephony over a Public Switch Telephone Network (PSTN), when a caller makes a call, he or she receives a dial tone from a central office upon taking a telephone off-hook. When the caller dials from the telephone after receiving the dial tone, the telephone typically utilizes Dual Tone Multifrequency (DTMF) tones to communicate the telephone number of the called party to the central office. A DTMF register at the central office processes the DTMF tones to obtain the called party""s telephone number. The central office does not dedicate a DTMF register to each local loop to its customers, because of the high cost of doing so. As a general rule, at any one time, the number of incoming calls to the central office is substantially below the number of local loops to customers. Consequently, the local loops can share DTMF registers.
On occasions, the volume of incoming calls will reach a higher level than the central office is equipped to handle. In this case, if a caller goes off-hook, the caller will receive no dial tone from the central office, because there are no DTMF registers available to process the DTMF tones. However, once the caller does get a dial tone and establishes a connection, the volume of traffic through the central office does not affect the quality of voice transmission over the call, since the lines which comprise the transmission path for the call are dedicated lines. That is, there is no competition for bandwidth on the transmission path.
In an Integrated Services Digital Network (ISDN), a Basic-Rate Interface (BRI) provides a caller with two B-channels which are utilized to carry digitized voice and data while a single D-channel is utilized for signaling and low speed data transmission. A Primary-Rate Interface (PRI) provides a higher bandwidth service for business users. The PRI consists of either twenty-three or thirty B-channels for user data and a single D-channel for signaling. The D-channel which carries all signaling information differentiates ISDN telephony from conventional analog telephony, which carries both voice and signaling information over the same channel. However, voice information in ISDN telephony is carried to and from PSTN central offices over dedicated local loops in the same way that voice information is carried in analog telephony.
In recent years telephony has been implemented on open data networks such as intranets and the Internet to provide a viable alternative to conventional analog and digital telephony. Transmission of signaling data and voice information on such open networks is typically performed utilizing Internet Protocol (IP). One feature which poses unique challenges in IP-telephony is that the signaling information and voice information are carried over shared media. (consequently, as traffic on an IP-telephony enabled network increases, the bandwidth available for transmission of voice information decreases. Decreased bandwidth availability often results in transmission delays in the network. The transmission delays can be particularly disruptive in telephone calls because effective communication depends on substantially real-time transmission and presentation of voice information. As delays begin to exceed the level of 100 milliseconds, effective communication sharply decliners.
If a caller is able to determine the traffic level of a data network at the time that a call is placed and the caller has an alternative means for placing the call to the called party (e.g., conventional connectivity via the PSTN), then the caller can avoid establishing a poor connection over the data network during high traffic intervals on the data network. However, if the call is placed over the PSTN, the caller is committed to the PSTN call and must manually terminate the PSTN connection and establish a connection over the data network if traffic subsequently decreases over the data network.
What is needed is a method and system for enhanced flexibility with respect to responding to changing network conditions to enable efficient utilization of IP-telephony.
A method and an apparatus for handling calls include calculating a transmission delay over a voice-over-data network between first and second endpoints to determine whether the delay exceeds a predetermined delay threshold. The call is automatically routed over a network other than the voice-over-data network if the delay exceeds the delay threshold. The calculation of transmission delay is performed before the call is established and periodically during the call to allow the call to be dynamically rerouted in response to changes in transmission delay over the voice-over-data-network.
The apparatus includes a call processor located on a local communications network and connected to multiple trunks, each of which is connected to a different network. One of the networks is a data network, such as the Internet, ;and another is a Public Switch Telephone Network (PSTN). The call processor selects among the trunks to provide connectivity between local communication devices on the local network and remote communication devices, with the selections being based on the current transmission delay over the Internet. In a preferred embodiment, the communication devices are enabled for Internet Protocol (IP) telephony, as well as conventional telephony over the PSTN.
A delay calculation module calculates the Internet transmission delay between a calling and a called communication device when the call processor receives a call request from a particular local communication device to a particular remote communication device. In a preferred embodiment, the calculation of transmission delay is a two step process. First, round trip delay is calculated to determine the delay attributed to the traffic over the transmission path between the local and remote communication devices. The delay calculation module determines whether the round trip delay exceeds a round trip delay threshold in order to screen out connections that would be susceptible to large delays. If the round trip threshold is exceeded, a call router routes the call over an alternate network, such as the PSTN. Otherwise, the delay calculation module progresses to the second step of calculating an end-to-end echo of the system. This second calculation includes the delay introduced by a remote call processor which supports IP-telephony on the remote communication device. If the end-to-end echo exceeds an echo threshold, the call router places the call over the PSTN. The call is placed over the Internet as an IP-telephony call if neither the round trip delay nor the end-to-end echo threshold is exceeded.
In a most preferred embodiment, the second step of calculating the end-to-end echo is, conditional upon the measure of the round trip delay falling in a center range of three ranges. As previously noted, when the round trip delay is above the predetermined round trip delay threshold (i.e., is within an uppermost range heaving the threshold as its lower limit), the call is immediately routed over the alternate network. On the other hand, if the round trip delay is measured to be in a lowermost range, the call is immediately routed over the voice-over-data network. It is only when the round trip delay is measured to be in the center range that quality of communication via the voice-over-data network is considered questionable. Thus, the end-to-end echo is calculated an(i used as a second factor in selecting among the available networks.
After the call has been placed, the delay calculation module continues to monitor round trip delay and end-to-end echo over the Internet. After the call has been placed over the Internet, if either the round trip delay or the end-to-end transmission delay exceeds its respective threshold, the call is rerouted from the Internet to the PSTN. Delay is introduced into the call when it is transferred to the PSTN in order to make the transfer transparent to the callers. Similarly, if the call has been placed over the PSTN, the delay calculation module continues to monitor end-to-end echo over the Internet so that, if the end-to-end echo drops below its threshold, the call will be rerouted over the Internet. The end-to-end echo threshold can be configured by each caller so that each caller can establish a personal tolerance for transmission delays.
The call, routed over the Internet can be a data-sharing call which includes a shared graphics/text feature in addition to voice. If either the round trip transmission delay or the end-to-end echo exceeds its respective threshold, the call router reroutes the voice component of the call over the PSTN while maintaining the data component of the data-sharing call on the Internet.